import fs from 'fs';
import path from 'path';
import pool from './database';

// 初始化数据库
const initDatabase = async (): Promise<void> => {
  try {
    console.log('正在初始化数据库...');
    
    // 读取SQL初始化脚本
    const sqlPath = path.join(__dirname, 'init.sql');
    const sql = fs.readFileSync(sqlPath, 'utf8');
    
    // 执行SQL脚本
    await pool.query(sql);
    
    console.log('数据库初始化成功!');
  } catch (error) {
    console.error('数据库初始化失败:', error);
    process.exit(1);
  }
};

// 如果直接运行此文件，则初始化数据库
if (require.main === module) {
  initDatabase().then(() => {
    console.log('数据库初始化完成，正在关闭连接...');
    pool.end();
    process.exit(0);
  });
}

export default initDatabase;